248 research outputs found
Model Development in the UML-based Specification Environment (USE)
The tool USE (UML-based Specification Environment) supports analysts,
designers and developers in executing UML models and checking OCL
constraints and thus enables them to employ model-driven techniques
for software production. USE has been developed since 1998 at the
University of Bremen. This paper will discuss to what extent and how
USE relates to the questions and topics (Model quality, Modelling
method, Model Effectiveness, Model Maintainability) raised for this
seminar
An Example for Metamodeling Syntax and Semantics of Two Languages, their Transformation, and a Correctness Criterion
We study a metamodel for the Entity Relationship (ER) and
the Relational data model. We do this by describing the syntax of the
ER data model by introducing classes for ER schemata, entities, and
relationships. We also describe the semantics of the ER data model by
introducing classes for ER states, instances, and links. The connection
between syntax and semantics is established by associations explaining that syntactical objects are interpreted by corresponding semantical objects.
Analogously we do this for the Relational data model. Finally, we give a metamodel for the transformation of ER schemata into Relational database schemata. By characterizing the syntax and semantics of the languages to be transformed and also the transformation itself within the same (meta-)modeling language we are able to include equivalence criteria on the syntactical and on the semantical level for the transformation. In particular, we show that the semantical equivalence criterion requires that the ER states and the corresponding Relational states bear the same information
Towards Model Validation and Verification with SAT Techniques
After sketching how system development and the UML (Unified Modeling
Language) and the OCL (Object Constraint Language) are related,
validation and verification with the tool USE (UML-based Specification
Environment) is demonstrated. As a more efficient alternative for
verification tasks, two approaches using SAT-based techniques are put
forward: First, a direct encoding of UML and OCL with Boolean
variables and propositional formulas, and second, an encoding
employing an intermediate, higher-level language (KODKOD, stongly
connected to ALLOY). A number of further, presently not realized
verification and validation tasks and the transformation of
higher-level modeling concepts into simple UML/OCL models, which are
checkable with SAT-based techniques, are shortly discussed. Finally,
the potential of SAT-based techniques for model development is again
emphasized
On Horizontal and Vertical Relationships between Models
Detecting, modeling and managing relationships between models are
central tasks within model-driven engineering. By taking a simple view
on software development, we distinguish in a vertical dimension
between domain-specific models, core models, and executable models. A
typical example for a vertical relationship is the refinement
relationship beween a core model and an executable model. In the
horizontal dimension, there may be several so-called property models
which have the task to validate or verify particular properties of the
core model. Software development coincides in our view with model
development, and therefore finding the right models and their
relationships is a crucial task
Teaching Model Views with UML and OCL
The specification of any non-trivial system is normally composed of a set of models. Each model describes a different view of the system, focuses on a particular set of concerns, and uses its own notation. For example, UML defines a set of diagrams for modelling the structure and behavior of any software system. One of the problems we perceived with our students is that they are able to understand each one of these diagrams, but they have problems understanding how they are related, and how the overall system specifications work when composed of a set of views. This paper presents a simple case study that we have developed and successfully used in class, which permits students developing the principal views of a system, simulate them, and check their relations.Universidad de Málaga. Campus de Excelencia Internacional AndalucÃa Tech
Analyzing Semantic Properties of OCL Operations by Uncovering Interoperational Relationships
The OCL (Object Constraint Language) as part of the UML (Unified Modeling Language) is a rich language with different collection kinds (sets, multi-sets, sequences) and a large variety of operations defined thereon. Without negating the strong correlation between both fields we can say that these operations have their origin partly in logic (like the operations forAll and exists) and partly in computer science, in particular database systems (like the operation select). Some of these operations may be expressed in terms of other operations. This paper presents a systematic study of relationships which hold between OCL features like the mentioned operations. Apart from presenting the relationships between operations in a conceptual way, the relationships are described by a formal metamodel allowing systematic and computer supported access to the operation relationships by querying an underlying formal description
Generating Effective Test Suites for Model Transformations Using Classifying Terms
Generating sample models for testing a model transformation is no easy task. This paper explores the use of classifying terms and stratified sampling for developing richer test cases for model transformations. Classifying terms are used to define the equivalence classes that characterize the relevant subgroups for the test cases. From each equivalence class of object models, several representative models are chosen depending on the required sample size. We compare our
results with test suites developed using random sampling, and conclude that by using an ordered and stratified approach the coverage and effectiveness of the test suite can be significantly improved.Universidad de Málaga. Campus de Excelencia Internacional AndalucÃa Tech
Employing Classifying Terms for Testing Model Transformations
This contribution proposes a new technique for developing test cases for UML and OCL models. The technique is based on an approach that automatically constructs object
models for class models enriched by OCL constraints. By guiding the construction process through so-called classifying terms, the built test cases in form of object models are classified into equivalence classes. A classifying term can be an arbitrary OCL term on the class model that calculates for an object model a characteristic value. From each equivalence class of object models with identical characteristic values one representative is chosen. The constructed test cases behave significantly different with regard to the selected classifying term. By building few diverse object models, properties of the UML and OCL model can be explored effectively. The technique is applied for automatically constructing relevant source model test cases for model transformations between a source and target metamodel.Universidad de Málaga. Campus de Excelencia Internacional AndalucÃa Tech
- …